﻿using ProtoBuf;

namespace Remoting.Reactive.ProtoBuf
{
    [ProtoContract]
    public enum ExpressionTypeDto
    {
        [ProtoEnum(Value = 00)]
        Add,
        [ProtoEnum(Value = 01)]
        AddChecked,
        [ProtoEnum(Value = 02)]
        And,
        [ProtoEnum(Value = 03)]
        AndAlso,
        [ProtoEnum(Value = 04)]
        ArrayLength,
        [ProtoEnum(Value = 05)]
        ArrayIndex,
        [ProtoEnum(Value = 06)]
        Call,
        [ProtoEnum(Value = 07)]
        Coalesce,
        [ProtoEnum(Value = 08)]
        Conditional,
        [ProtoEnum(Value = 09)]
        Constant,
        [ProtoEnum(Value = 10)]
        Convert,
        [ProtoEnum(Value = 11)]
        ConvertChecked,
        [ProtoEnum(Value = 12)]
        Divide,
        [ProtoEnum(Value = 13)]
        Equal,
        [ProtoEnum(Value = 14)]
        ExclusiveOr,
        [ProtoEnum(Value = 15)]
        GreaterThan,
        [ProtoEnum(Value = 16)]
        GreaterThanOrEqual,
        [ProtoEnum(Value = 17)]
        Invoke,
        [ProtoEnum(Value = 18)]
        Lambda,
        [ProtoEnum(Value = 19)]
        LeftShift,
        [ProtoEnum(Value = 20)]
        LessThan,
        [ProtoEnum(Value = 21)]
        LessThanOrEqual,
        [ProtoEnum(Value = 22)]
        ListInit,
        [ProtoEnum(Value = 23)]
        MemberAccess,
        [ProtoEnum(Value = 24)]
        MemberInit,
        [ProtoEnum(Value = 25)]
        Modulo,
        [ProtoEnum(Value = 26)]
        Multiply,
        [ProtoEnum(Value = 27)]
        MultiplyChecked,
        [ProtoEnum(Value = 28)]
        Negate,
        [ProtoEnum(Value = 29)]
        UnaryPlus,
        [ProtoEnum(Value = 30)]
        NegateChecked,
        [ProtoEnum(Value = 31)]
        New,
        [ProtoEnum(Value = 32)]
        NewArrayInit,
        [ProtoEnum(Value = 33)]
        NewArrayBounds,
        [ProtoEnum(Value = 34)]
        Not,
        [ProtoEnum(Value = 35)]
        NotEqual,
        [ProtoEnum(Value = 36)]
        Or,
        [ProtoEnum(Value = 37)]
        OrElse,
        [ProtoEnum(Value = 38)]
        Parameter,
        [ProtoEnum(Value = 39)]
        Power,
        [ProtoEnum(Value = 40)]
        Quote,
        [ProtoEnum(Value = 41)]
        RightShift,
        [ProtoEnum(Value = 42)]
        Subtract,
        [ProtoEnum(Value = 43)]
        SubtractChecked,
        [ProtoEnum(Value = 44)]
        TypeAs,
        [ProtoEnum(Value = 45)]
        TypeIs,
        [ProtoEnum(Value = 46)]
        Assign,
        [ProtoEnum(Value = 47)]
        Block,
        [ProtoEnum(Value = 48)]
        DebugInfo,
        [ProtoEnum(Value = 49)]
        Decrement,
        [ProtoEnum(Value = 50)]
        Dynamic,
        [ProtoEnum(Value = 51)]
        Default,
        [ProtoEnum(Value = 52)]
        Extension,
        [ProtoEnum(Value = 53)]
        Goto,
        [ProtoEnum(Value = 54)]
        Increment,
        [ProtoEnum(Value = 55)]
        Index,
        [ProtoEnum(Value = 56)]
        Label,
        [ProtoEnum(Value = 57)]
        RuntimeVariables,
        [ProtoEnum(Value = 58)]
        Loop,
        [ProtoEnum(Value = 59)]
        Switch,
        [ProtoEnum(Value = 60)]
        Throw,
        [ProtoEnum(Value = 61)]
        Try,
        [ProtoEnum(Value = 62)]
        Unbox,
        [ProtoEnum(Value = 63)]
        AddAssign,
        [ProtoEnum(Value = 64)]
        AndAssign,
        [ProtoEnum(Value = 65)]
        DivideAssign,
        [ProtoEnum(Value = 66)]
        ExclusiveOrAssign,
        [ProtoEnum(Value = 67)]
        LeftShiftAssign,
        [ProtoEnum(Value = 68)]
        ModuloAssign,
        [ProtoEnum(Value = 69)]
        MultiplyAssign,
        [ProtoEnum(Value = 70)]
        OrAssign,
        [ProtoEnum(Value = 71)]
        PowerAssign,
        [ProtoEnum(Value = 72)]
        RightShiftAssign,
        [ProtoEnum(Value = 73)]
        SubtractAssign,
        [ProtoEnum(Value = 74)]
        AddAssignChecked,
        [ProtoEnum(Value = 75)]
        MultiplyAssignChecked,
        [ProtoEnum(Value = 76)]
        SubtractAssignChecked,
        [ProtoEnum(Value = 77)]
        PreIncrementAssign,
        [ProtoEnum(Value = 78)]
        PreDecrementAssign,
        [ProtoEnum(Value = 79)]
        PostIncrementAssign,
        [ProtoEnum(Value = 80)]
        PostDecrementAssign,
        [ProtoEnum(Value = 81)]
        TypeEqual,
        [ProtoEnum(Value = 82)]
        OnesComplement,
        [ProtoEnum(Value = 83)]
        IsTrue,
        [ProtoEnum(Value = 84)]
        IsFalse
    }
}
